/* System Calls for processes */

#ifndef _SYSCALL_H
#define _SYSCALL_H

#include <types.h>
#include <klib.h>
#include <i386_arch.h>

enum syscalls_t {
  SYS_NONE = 0,       /* no syscall */
  SYS_READ,           /* read data (from keyboard) */
  SYS_WRITE,          /* write data (to screen) */
  SYS_BRK,            /* request increment of data address space */
  SYS_SUBMIT,         /* submit job to be executed */
  SYS_YIELD,          /* give up current time-slice */
  SYS_TIME,           /* get system time in milli-seconds */
  SYS_QUIT            /* terminate current process */
};

extern void demultiplex_syscall(uregs_t *uregs);

#endif /* _SYSCALL_H */
